package com.zc.blog.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zc.blog.model.Article;
import com.zc.blog.model.Tag;

import java.util.List;

/**
 * 用户Mapper接口
 */
public interface ArticleMapper extends BaseMapper<Article> {

    Article findById(Integer id);

    //查询所有文章
    List<Article> listAll(Integer start, Integer pageSize, String query);

    //根据类别分页查询文章
    List<Article> listCategoryArticles(Integer start, Integer pageSize, String query,Integer categoryId);

    //根据标签分页查询文章
    List<Article> listTagArticles(Integer start, Integer pageSize, String query,Integer tagId);

    //获取所有文章数
    Integer getTotal(String query);

    //根据类别获取文章数
    Integer getCategoryArticlesTotal(String query,Integer categoryId);

    //根据标签获取文章数
    Integer getTagArticlesTotal(String query,Integer tagId);

    //根据标签id获取所有文章
    List<Tag> findArticlesByTagId(Integer tagId);

    //查询轮播图
    List<Article> findArticlesBySlider();

    //根据id修改添加点击量
    void incrementClick(Integer id);

    //获取指定的热门数
    List<Article> findHotArticles(Integer topHot);

    //根据类别Id 找文章
    List<Article> findArticlesByCategoryId(Integer categoryId);
}
